Ruby on Rails
RubyのWeb Application Framework
a.k.a RoR
作者はDHH
https://kdmsnr.com/translations/interview-with-dhh/
Railsは、「”こだわりのある”ソフトウェア(opinionated software)」なんです。まず、ソフトウェアの古い考えを無視しています。古い考えとは「柔軟性」のことです——できるだけ多くのことに対応できるようにってやつですね。この考えそのものは批判すべきものではありませんが、Railsではこれを無視しています。
Railsでは、アプリケーションレベルの柔軟性を得るために、インフラレベルの柔軟性を犠牲にしています。私がRailsの中に組み込んだ「黄金の道」に沿って開発を行えば、ものすごく生産性が向上します。アプリケーションレベルでは、より多く、より早く、より良いものが開発できます。
“こだわりのある”ソフトウェアの特徴のひとつに「conventions over configuration」があります。クラス名は単数形でテーブル名は複数形(personクラスがpeopleテーブルと関連している)といった基本的な規約に従えば、クラスとテーブル間のリンクの設定をする必要がありません。クラスが自動的に永続化のためのテーブルを判別します。Railsにはそのような例がいくつもあります。すべてをまとめると、ものすごい違いになりますね。
Ruby on Rails ガイド:体系的に Rails を学ぼう
運用
https://zenn.dev/nownabe/articles/rails-on-google-cloud
Google Cloud 上で Rails をできるだけインフラ運用しなくて済むように構築するとしたら、こういう構成にするのはどうだろうか?
メインの Web アプリは Cloud Run
メインのデータベースには Cloud Spanner
非同期ワーカーには GKE Autopilot
非同期メッセージングキューには Cloud Pub/Sub
DB マイグレーションには GKE Autopilot
rails console には GKE Autopilot